package com.scs.application.modules.settlement.dto;

import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMin;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName StockDTO
 */
@Data
public class StockDTO implements Serializable {

    /**
     * 耗材编码
     */
    @NotBlank(message = "耗材编码不能为空")
    private String materialCode;

    /**
     * 批次
     */
    private String lot;

    /**
     * 效期
     */
    private Date expiredDate;

    /**
     * 库存数量
     */
    @NotNull(message = "数量不能为空")
    @DecimalMin(value = "0.0")
    private Double qty;

    /**
     * 单品单位
     */
    @NotBlank(message = "单位不能为空")
    @Length(min = 1, max = 4, message = "单位长度必须介于 1 和 4 之间")
    private String unit;

    /**
     * 单品价格
     */
    @NotNull(message = "单品价格不能为空")
    private Double price;

    /**
     * 库存标识
     */
    @NotNull(message = "库存标识不能为空")
    private String warehouseId;

    /**
     * 库存地名称
     */
    @NotBlank(message = "库存地名称不能为空")
    @Length(min = 1, max = 100, message = "库存地名称长度必须介于 1 和 100 之间")
    private String warehouseName;
}

